/*
      一个整数可以由连续的自然数之和来表示
      给定一个整数
      计算该整数有几种连续自然数之和的表达式
      并打印出每一种表达式

      输入描述
      一个目标整数t  1<= t <=1000

      输出描述
      1.该整数的所有表达式和表达式的个数
      如果有多种表达式，自然数个数最少的表达式优先输出
      2.每个表达式中按自然数递增输出

      具体的格式参见样例
      在每个测试数据结束时，输出一行"Result:X"
      其中X是最终的表达式个数

      输入
      9

      输出
      9=9
      9=4+5
      9=2+3+4
      Result:3

      说明 整数9有三种表达方法：

      示例二
      输入
      10
      输出
      10=10
      10=1+2+3+4
      Result:2

       */

function getNumberLists(number) {
    let result = [[number]]
    for (let i = 1; i < number; i++) {
        let ans = getArrLists(i, number);
        if (ans.length) {
            result.push(ans)
        }
    }
    console.log(result)
    console.log(result.length)
}
function getArrLists(i, number) {
    let ans = 0;
    for (let j = i; j < number; j++) {
        let total = (i + j) * (j - i + 1) / 2;
        if (total === number) {
            ans = j;
            break;
        }
    }
    let res = []
    if (ans > 0) {
        for (let z = i; z <= ans; z++) {
            res.push(z)
        }
    }
    return res;
}
getNumberLists(9)